// pages/profile/profile.js
import { getStorage, setStorage } from '@/utils/storage'
import { userBehavior } from '../../behaviors/behavior'
import { reqUploadfile, reqUpdateUserInfo } from '@/api/user'
import { toast } from '@/utils/extendApi'

Page({

    behaviors: [userBehavior],

  // 页面的初始数据
  data: {
    isShowPopup: false // 控制更新用户昵称的弹框显示与否
  },


  // 更新用户信息
  async updateUserInfo() {
    // 调用接口API函数更新用户信息
    const res = await reqUpdateUserInfo(this.data.userInfo)
    if (res.code === 200) {
        // 更新成功后，保存到本地
        setStorage('userInfo', this.data.userInfo)
        
        // 更新成功后同步到storage中
        this.setUserInfo(this.data.userInfo)

        // 给用户进行提示
        toast({ title: '用户信息更新成功' })

    }
  },

  // 更新用户头像
  async chooseAvatar(event) {

    //获取更新头像的临时路径
    const { avatarUrl } = event.detail

    const res = await reqUploadfile(avatarUrl, 'file')
    
    this.setData({
        'userInfo.headimgurl': res.data
    })

    // wx.uploadFile({
    //   filePath: avatarUrl,
    //   name: 'file',
    //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload',
    //   header: {
    //     token: getStorage('token')
    //   },
    //   success: (res) => {
    //     const uploadRes = JSON.parse(res.data)
    //     console.log(uploadRes)

    //     this.setData({
    //         'userInfo.headimgurl': uploadRes.data
    //     })
    //   }
    // })
  },

  getNickName(event) {
    //  console.log(event)
     const { nickname } = event.detail.value
     this.setData({
         'userInfo.nickname': nickname,
         isShowPopup: false
     })
  },

  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true,
      'userInfo.nickname': this.data.userInfo.nickname
    })
  },

  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false
    })
  }
})
